Estimating depth information in an image enables construction of three dimensional (3-D) images and measurements and provides improved perceptual capabilities. This can be useful, for example, to enhance the capabilities of computer or robotic systems with 3-D vision. Depth information may be obtained from a pair of stereoscopic images, a left image and a right image, by determining the pixel offset (or disparity) of corresponding features in each image. The disparity can be geometrically related to depth in the image.
Pixels from the left image are typically compared to pixels from the right image, based on a cost metric that measures the difference between the two, with a minimum cost pixel selected for the estimated disparity. The cost metrics are often computationally intensive and the number of pixels that may need to be searched can be relatively large, resulting in performance degradation that may be prohibitive for real-time applications. Some stereo processing algorithms have computational complexity on the order of n5, O(n5), to as high as O(2n), where n is the number of pixels used in the calculation. A trade off is generally made between speed on the one hand and resolution, edge preservation and depth estimation accuracy on the other, with speed being increased by limiting the number of pixels or simplifying the cost metric calculations or both.
Although the following Detailed Description will proceed with reference being made to illustrative embodiments, many alternatives, modifications, and variations thereof will be apparent to those skilled in the art.